Traditionally, personal computers included operating systems, applications, and user settings for a single user. Personal computers were generally both used and managed by their owners. However, many organizations are now using virtualization, remote access, or clouds of computing resources to fulfill their computing needs. Clouds of virtualized computing resources generally allow for the operating systems, applications, and user settings of multiple users to be included on a single physical machine. Desktop virtualization technology allows multiple instances of an operating system to be kept separate, so the activity of one user does not affect the experience of other users. Cloud computing environments allow for computers owned by the cloud operator to be managed by the cloud operator but used by cloud users, who may be customers of the cloud operator.
A virtual machine receiver is an application that allows a user a type of virtualized remote access to corporate applications, desktops and data, even when said “remote” resources are on the physical machine the user may be using. Each receiver may communicate with a central enterprise server that lists which applications and other resource have been selected by the user, and which applications and other resources are available for the user to select or request.
As virtualization becomes increasingly popular and more cost effective, new problems arise that aspects described herein address. For example, moving from a single device world to a multi-device world may involve at least four types of devices—a smartphone, a tablet, a full-featured laptop or desktop computer, and a room-mounted display. Each of these devices can independently run software such as web browsers, meeting software (e.g., GoToMeeting available from Citrix Systems Inc. of Ft. Lauderdale, Fla.), personal information managers, document or productivity software, and other types of software. However, each of these devices runs independently, largely unaware of other the devices. The most linkage that may currently occur between devices typically involves mirroring screens from one device to another. Typical examples of this include displaying a laptop screen on a room-mounted display, or displaying a tablet or smartphone display on a laptop, which may then be displayed on the room mounted display. Therefore, a need exists for approaches to coordinating the operation such devices in order that the devices may be aware of each other and collaboratively function as a whole.